#include <iostream>

using namespace std;

#include <bits/stdc++.h>
#include <u.h>

void SelectSort(vector<int> v) {
    // 确定了倒数第二个，最后一个位置就确定了，可以少一次循环
    for (int i = 0; i < v.size() - 1; ++i) {
        int min = v[i], min_index = i;

        //从i+1开始，和a[i]比较，找出最小的
        for (int j = i + 1; j < v.size(); ++j) {
            if (v[j] < min) {
                min = v[j];
                min_index = j;
            }
        }

        //把最小的换到位置 i
        int tmp;
        tmp = v[i];
        v[i] = v[min_index];
        v[min_index] = tmp;

        PrintVector(v);

    }
}

void SelectSort(int a[], int size) {

    // 确定了倒数第二个，最后一个位置就确定了，可以少一次循环
    for (int i = 0; i < size - 1; ++i) {
        int min = a[i], min_index = i;

        //从i+1开始，和a[i]比较，找出最小的
        for (int j = i + 1; j < size; ++j) {
            if (a[j] < min) {
                min = a[j];
                min_index = j;
            }
        }

        //把最小的换到位置 i
        int tmp;
        tmp = a[i];
        a[i] = a[min_index];
        a[min_index] = tmp;

        PrintArray(a, size);

    }
}


int main() {
    vector<int> v = {6, 5, 3, 4, 1, 2};
//    PrintArray(a, GetArrayLength(a));
    cout << "---------------" << endl;
//    SelectSort(a, GetArrayLength(a));
    PrintVector(v);
    SelectSort(v);

    return 0;
}